/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package libreriaTicket.dao;

import conexion.BD;
import conexion.SqlFormat;
import java.util.ArrayList;
import libreriaTicket.entity.Comuna;
import libreriaTicket.entity.Recinto;

/**
 *
 * @author Duoc
 */
public class DaoRecinto {
    public static boolean sqlInsert(Recinto recinto)
    {
        try {
            SqlFormat sql = new SqlFormat(SqlFormat.INSERTAR,"recinto");
            sql.addField("nombre", recinto.getNombre());
            sql.addField("descripcion", recinto.getDescripcion());
            sql.addField("comuna", recinto.getComuna().getIdComuna());
            sql.addField("calle", recinto.getCalle());
            sql.addField("numero", recinto.getNumeroCalle());
            sql.addField("cantidadPersona", recinto.getCantidadPersona());
            
            return BD.getInstance().sqlEjecutar(sql.crearInstruccion());
            
            
            
        } catch (Exception e) {
        }
        return false;
    }
    public static boolean sqlUpdate(Recinto recinto)
    {
        try {
           
            SqlFormat sql = new SqlFormat(SqlFormat.ACTUALIZAR,"recinto");
            sql.where("id", recinto.getId());
            sql.addField("nombre", recinto.getNombre());
            sql.addField("descripcion", recinto.getDescripcion());
            sql.addField("comuna", recinto.getComuna().getIdComuna());
            sql.addField("calle", recinto.getCalle());
            sql.addField("numero_direccion", recinto.getNumeroCalle());
            sql.addField("cantidadPersona", recinto.getCantidadPersona());
            
            return BD.getInstance().sqlEjecutar(sql.crearInstruccion());
            
            
        } catch (Exception e) {
        }
        return false;
    }
    public static boolean sqlDelete(Recinto recinto)
    {
        try {
            SqlFormat sql = new SqlFormat(SqlFormat.ELIMINAR,"recinto");
            sql.where("id", recinto.getId());
            return BD.getInstance().sqlEjecutar(sql.crearInstruccion());
            
            
        } catch (Exception e) {
        }
        return false;
    }
    public static Recinto sqlSelect(Recinto recinto)
    {
        
        try {
            SqlFormat sql = new SqlFormat(SqlFormat.SELECCIONAR,"recinto");
            sql.where("id",recinto.getId());
            
            BD.getInstance().sqlQuery(sql.crearInstruccion());
            if(!BD.getInstance().sqlFetch()) return null;
            
            recinto.setId(BD.getInstance().getInt("id"));
            recinto.setNombre(BD.getInstance().getString("nombre"));
            recinto.setDescripcion(BD.getInstance().getString("descripcion"));
            recinto.setComuna(new Comuna(Integer.parseInt(BD.getInstance().getString("comuna"))));
            recinto.setCalle(BD.getInstance().getString("Calle"));
            recinto.setNumeroCalle(BD.getInstance().getInt("numero"));
            recinto.setCantidadPersona(BD.getInstance().getInt("cantidadPersona"));            
            return recinto;
        } catch (Exception e) {
        }
        return null;
    }
    
    public static ArrayList<Recinto> sqlSelectAll()
    {
        ArrayList<Recinto> recintos = new ArrayList<Recinto>();
        try {
            
          
            BD.getInstance().sqlQuery(SqlFormat.SelectAll("recinto"));
            while(BD.getInstance().sqlFetch()) {
                Recinto recinto = new Recinto();
                recinto.setId(BD.getInstance().getInt("id"));
                recinto.setNombre(BD.getInstance().getString("nombre"));
                recinto.setDescripcion(BD.getInstance().getString("descripcion"));
                recinto.setComuna(new Comuna(Integer.parseInt(BD.getInstance().getString("comuna"))));
                recinto.setCalle(BD.getInstance().getString("calle"));
                recinto.setNumeroCalle(BD.getInstance().getInt("numero"));
                recinto.setCantidadPersona(BD.getInstance().getInt("cantidadPersona"));
                recintos.add(recinto);
            }
            return recintos;
        } catch (Exception e) {
        }
        return null;
    }
    
    
    
}
